Integrated circuits (ICs) are designed today with computers using computer programs known as IC design tools. With these tools, a circuit designer enters geometrical shapes (e.g., polygons) of an IC design into a computer and manipulates the shapes to produce a simulated layout of the circuit. The geometrical shapes form circuit elements, such as transistors, resistors, capacitors, and wires. These shapes represent material in an IC on a physical layer (e.g., metal, diffusion, or polysilicon) with each material typically shown in a different color. From this simulated layout, the design tool generates data for producing photolithographic masks that are then used for fabricating the IC.
FIG. 1A shows an example of a transistor 10 represented as several overlapping polygons. The transistor includes a polysilicon layer 12 that forms a gate region 15 (shown generally in dashed lines) and a diffusion layer 14 that forms a source and drain of the transistor 10. The electronics industry has amassed a large inventory of IC designs that include polygon-based elements, such as the transistor 10. More recently, the industry is moving away from polygon-based layouts in favor of object-based layouts. An object-based layout represents circuit elements as objects, which are containers encapsulating the geometric properties of the circuit elements for each layer in the IC. Object-based layouts are preferable because related geometries on multiple layers can be grouped together into a single cohesive unit enabling devices to be manipulated at a higher level of abstraction than equivalent polygon-based layouts. Additionally, generating a netlist (i.e., a representation of a design as a list of electrical devices and their interconnections, but with limited geometrical information) is explicit in the object-based layout, rather than requiring an extraction process as in a polygon-based layout.
Recognition devices have been developed to convert the existing polygon-based layouts to object-based layouts. Current recognition devices, however, include a library of a fixed set of element types. These element types have predetermined geometries for each element. Elements that do not have the same predetermined geometries defined in the fixed set of element types cannot be recognized and, therefore, are not automatically converted into objects. FIG. 1B and 1C show common examples of transistor elements that can exist in polygon-based layouts that are typically unrecognizable by current recognition devices. FIG. 1B shows a transistor 16 similar to the transistor 10 of FIG. 1A, but with a notch 18 in the diffusion layer. FIG. 1C shows a transistor 20 with a bent gate 22. Notch 18 and bent gate 22 represent slight geometric deviations from the traditional transistor 10, shown in FIG. 1A. Such elements with geometric deviations are typically unrecognizable because they differ from the recognition device's predetermined library of element types. Often, these geometric deviations are introduced into a layout to allow for tighter compaction of elements in the IC. Of course, geometrical deviations also may exist in elements other than transistors, such as capacitors, resistors, diodes, etc.
Users are often familiar with the differences between the library of element types in current recognition devices and elements within their own polygon-based layout. Nonetheless, current recognition devices do not allow users to utilize such information. As a result, many types of elements go unrecognized so that a polygon-based layout cannot be converted automatically to an object-based layout.
Accordingly, it would be desirable to provide a recognition device for converting a polygon-based layout to an object-based layout where virtually any element can be recognized, even those with slight geometrical deviations from standard element types. It would also be desirable to provide such a recognition device that makes use of user-supplied information about element types to be used to convert the polygon-based layout.